/**
 * 文件名称: maic.c
 * 摘    要: linux网络编程示例测试代码
 * 来    源: 自我总结
 *
 * 当前版本: 1.0 
 * 作    者: huenrong
 * 完成日期: 2019-07-07
 **/

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <stdlib.h>
#include <netinet/in.h>

#include "socket.h"




int main(int argc, char *argv[])
{
    char server_ip[INET_ADDRSTRLEN] = {0};  // 服务器ip
    int server_port = 0;        // 服务器port

    if (argc > 1)
    {
        // 确定服务器IP
        // 若执行函数时，未传入需要连接的服务器IP，则使用默认服务器IP: 127.0.0.1
        if (NULL == argv[1])
        {
            memcpy(server_ip, "127.0.0.1", strlen("127.0.0.1"));
        }
        else
        {
            memcpy(server_ip, argv[1], strlen(argv[1]));
        }

        // 确定服务器port
        // 若执行函数时，未传入需要连接的服务port，则使用默认服务器port: 8000
        if (NULL == argv[2])
        {
            server_port = 8000;
        }
        else
        {
            server_port = atoi(argv[2]);
        }
    }
    else
    {
        printf("use default ip and port\r\n");
        memcpy(server_ip, "127.0.0.1", strlen("127.0.0.1"));
        server_port = 8000;
    }
    

    creat_tcp_server(tcp_server_function, server_port);     // 创建tcp server，同时传递server功能函数和监听端口

    while (1);

    return 0;
}
